Separating Functional and Parallel Correctness using Nondeterministic Sequential Specifications

نویسندگان

  • Jacob Burnim
  • George Necula
  • Koushik Sen
چکیده

Writing correct explicitly-parallel programs can be very challenging. While the functional correctness of a program can often be understood largely sequentially, a software engineer must simultaneously reason about the nondeterministic parallel interleavings of the program’s threads of execution. This complication is similarly a challenge to automated verification efforts. Thus, we argue that it is desirable to decompose a program’s correctness into its sequential functional correctness and the correctness of its parallelization. We propose achieving this decomposition by specifying the parallel correctness of a program with a nondeterministic but sequential version of the program. In particular, if a software engineer annotates the intended algorithmic nondeterminism in a program, then the program can act as its own specification in verifying the correctness of its parallelism. We can interpret the annotated program as sequential but nondeterministic, and then verify the correctness of the parallelism by showing that it introduces no additional nondeterminism.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Refinement Calculus for Communicating Processes with State

A uniform treatment is presented of specifications, programs, and programming for communicating processes with machine state. The treatment is based on addition of a specification statement to a CSP-like language. The extended language is viewed as a specification language in which programs are identified with a subclass of specifications. A semantics is provided and here a selection of sound r...

متن کامل

Nondeterministic Algebraic Specifications and Nonconfluent Term Rewriting

Algebraic specifications are generalized to the case of nondeterministic operations by admitting models with set-valued functions (multi-algebras). General (in particular, non-confluent) term rewriting systems are studied as a specification language for this semantic framework. A calculus for nondeterministic specifications is given which is similar to term rewriting but which employs an additi...

متن کامل

Object-Oriented Pattern-Based Parallel Programming with Automatically Generated Frameworks

The CO2P3S parallel programming system uses design patterns and object–oriented programming to reduce the complexities of parallel programming. The system generates correct frameworks from pattern template specifications and provides a layered programming model to address both the problems of correctness and openness. This paper describes the highest level of abstraction in CO2P3S, using two ex...

متن کامل

The Nondeterministic Divide

The noadeterministic divide partitions a vector into two nonempty slices by allowing the point of division to be chosen nondeterministically. Support for high-level divide-and-conquer programming provided by the nondeterministic divide is investigated. A diva algorithm is a recursive divide-andconquer sequential algorithm on one or more vectors of the same range, whose division point for a new ...

متن کامل

Generating Properties for Runtime Monitoring from Software Specification Patterns

The paper presents an approach to support run-time verification of software systems that combines two existing tools, Prospec and Java-MaC, into a single framework. Prospec can be used to clarify natural language specifications for sequential, concurrent, and nondeterministic behavior. In addition, the tool assists the user in reading, writing, and understanding formal specifications through th...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2010